home *** CD-ROM | disk | FTP | other *** search
- % SLITEX VERSION 2.09 - RELEASE OF 10 November 86
- % Copyright (C) 1986 by Leslie Lamport
-
- \everyjob{\typeout{SliTeX Version 2.09 - Release 10 November 86}}
- \immediate\write10{SliTeX Version 2.09 - Release 10 November 86}
-
- % NOTES FOR DEFINING FONTS AND STYLES FOR SLIDES
- % Every font definition -- \rm, \it, etc. must \def\@currfont to itself.
- % Every size definition such as \normalsize is defined to be
- % \@normalsize
- % \def\@currsize{\@normal}\rm
- % commands to set:
- % \baselineskip
- % \lineskip
- % the ...displayskip and ...displayshortskip parameters
- % \strutbox
- % \parskip and \@parskip
- % where \@normal makes all the font definitions.
- % \@normal must test the switch @visible and define its
- % fonts equal to the visible or the invisible versions accordingly.
-
- \message{hacks,}
- % **********************************************
- % * HACKS FOR SLIDE MACROS *
- % **********************************************
- %
- % The macro \@getend{FOO} defines \@arg to equal all the text up to
- % but excluding the next \end{FOO}, which it gobbles up.
- % Note that the characters in this text will all be interpreted with
- % their current category codes, so any embedded environments (such as
- % an example environment) won't work right. NOTE--GOBBLES
- % THE \fi's -- MUST BE MODIFIED LIKE \@gobbletoend BELOW.
-
-
- %\def\@getend#1{\def\@arg{}\def\@argend{#1}\@addtoarg}
- %
- %\long\def\@addtoarg#1\end#2{\tokens{#1}%
- %\long\edef\@x@add##1\@@{\long\def\@arg{##1\the\tokens}}%
- %\expandafter\@x@add\@arg\@@\def\@x@a{#2}\ifx\@x@a\@argend\else
- %\tokens{\end{#2}}\long\edef\@x@add##1\@@{\long\def\@arg{##1\the\tokens}}%
- %\expandafter\@x@add\@arg\@@\@addtoarg\fi}
-
- % \@gobbletoend{FOO} gobbles all text up to and including the
- % next \end{FOO}. Must be used inside an \if, right before the \fi.
-
- \def\@gobbletoend#1{\def\@argend{#1}\@ggobtoend}
-
- \long\def\@ggobtoend#1\end#2{\@xfi\def\@x@a{#2}%
- \ifx\@x@a\@argend\else\@ggobtoend\fi}
- \def\@xfi{\fi}
-
- \message{slides,}
- % **********************************************
- % * SLIDE MACROS *
- % **********************************************
- %
- % Switches:
- % @bw : true if making black and white slides
- % @visible : true if visible output to be produced.
- % @makingslides : true if executing \blackandwhite or \colorslides
-
- \newif\if@bw
- \newif\if@visible
- \newif\if@onlyslidesw \@onlyslideswfalse
- \newif\if@onlynotesw \@onlynoteswfalse
- \newif\if@makingslides
-
- % Counters
- % slide = slide number
- % overlay = overlay number for a slide
- % note = note number for a slide
-
- \countdef\c@slide=0 \c@slide=0
- \def\cl@slide{}
- \countdef\c@overlay=1 \c@overlay=0
- \def\cl@overlay{}
- \countdef\c@note=2 \c@note=0
- \def\cl@note{}
-
-
- \@addtoreset{overlay}{slide}
- \@addtoreset{note}{slide}
-
- % Redefine page counter to some other number.
- % The page counter will always be zero except when putting out an
- % extra page for a slide, note or overlay.
- %
- \@definecounter{page}
- \@addtoreset{page}{slide}
- \@addtoreset{page}{note}
- \@addtoreset{page}{overlay}
-
-
- \def\theslide{\@arabic\c@slide}
- \def\theoverlay{\theslide-\@alph\c@overlay}
- \def\thenote{\theslide-\@arabic\c@note}
-
- % \@setlimits \LIST \LOW \HIGH
- %
- % Assumes that \LIST = RANGE1,RANGE2,...,RANGEn (n>0)
- % Where RANGEi = j or j-k.
- %
- % Then \@setlimits globally sets
- % (i) \LIST := RANGE2, ... , RANGEn
- % (ii) \LOW := p
- % (iii) \HIGH := q
- % where either RANGE1 = p-q or RANGE1 = p and q=p.
-
- \def\@sl@getargs#1-#2-#3\relax#4#5{\xdef#4{#1}\xdef#5{#2}}
- \def\@sl@ccdr#1,#2\relax#3#4{\xdef#3{#1-#1-}\xdef#4{#2}}
-
- \def\@setlimits #1#2#3{\expandafter\@sl@ccdr#1\relax\@sl@gtmp #1%
- \expandafter\@sl@getargs\@sl@gtmp\relax#2#3}
-
- % \onlyslides{LIST} ::=
- % BEGIN
- % @onlyslidesw := true
- % \@doglslidelist :=G LIST,999999,999999
- % if @onlynotesw = true
- % else @onlynotesw := true
- % \@doglnotelist :=G LIST,999999,999999
- % fi
- % message: Only Slides LIST
- % END
-
- \def\onlyslides#1{\@onlyslideswtrue\gdef\@doglslidelist{#1,999999,999999}%
- \if@onlynotesw \else \@onlynoteswtrue\gdef\@doglnotelist{999999,999999}\fi
- \typeout{Only Slides #1}}
-
- % \onlynotes{LIST} ::=
- % BEGIN
- % @onlynotesw := true
- % \@doglnotelist :=G LIST,999999,999999
- % if @onlyslidesw = true
- % else \@onlyslidesw := true
- % \@doglslidelist{999999,999999}
- % fi
- % message: Only Notes LIST
- % END
-
- \def\onlynotes#1{\@onlynoteswtrue\gdef\@doglnotelist{#1,999999,999999}%
- \if@onlyslidesw \else \@onlyslideswtrue\gdef\@doglslidelist{999999,999999}\fi
- \typeout{Only Notes #1}}
-
-
- % \blackandwhite #1 ::=
- % \newpage
- % page counter := 0
- % @bw := T
- % @visible := T
- % if @onlyslidesw = true
- % then \@doslidelist := \@doglslidelist
- % \@setlimits\@doslidelist\@doslidelow\@doslidehigh
- % fi
- % if @onlynotesw = true
- % then \@donotelist := \@doglnotelist
- % \@setlimits\@donotelist\@donotelow\@donotehigh
- % fi
- % \normalsize % Note, this sets font to \rm , which sets
- % % \@currfont to \rm
- % counter slidenumber := 0
- % counter note := 0
- % counter overlay := 0
- % @makingslides := T
- % input #1
- % @makingslides := F
-
- \def\blackandwhite#1{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
- \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
- \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
- \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
- \@setlimits\@donotelist\@donotelow\@donotehigh\fi
- \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
- \setcounter{note}{0}\@makingslidestrue\input #1\@makingslidesfalse}
-
-
- % \colors{COLORS} ::=
- % for \@colortemp := COLORS
- % do \csname \@colortemp \endcsname == \@color{\@colortemp} od
- % if \@colorlist = empty
- % then \@colorlist := COLORS
- % else \@colorlist := \@colorlist , COLORS
- % fi
- %
- \def\colors#1{\@for\@colortemp:=#1\do{\expandafter
- \xdef\csname\@colortemp\endcsname{\noexpand\@color{\@colortemp}}}\ifx
- \@colorlist\@empty \gdef\@colorlist{#1}
- \else \xdef\@colorlist{\@colorlist,#1}\fi}
-
- \def\@colorlist{}
-
- % \colorslides{FILE} ::=
- % \newpage
- % page counter := 0
- % @bw := F
- % for \@currcolor := \@colorlist
- % do @visible := T
- % if @onlyslidesw = true
- % then \@doslidelist := \@doglslidelist
- % \@setlimits\@doslidelist\@doslidelow\@doslidehigh
- % fi
- % if @onlynotesw = true
- % then \@donotelist := \@doglnotelist
- % \@setlimits\@donotelist\@donotelow\@donotehigh
- % fi
- % \normalsize
- % counter slide := 0
- % counter overlay := 0
- % counter note := 0
- % type message
- % generate color layer output page
- % @makingslides := T
- % input #1
- % @makingslides := F
- % od
-
- \def\colorslides#1{\newpage\setcounter{page}{0}\@bwfalse
- \@for\@currcolor:=\@colorlist\do
- {\@visibletrue
- \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
- \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
- \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
- \@setlimits\@donotelist\@donotelow\@donotehigh\fi
- \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
- \setcounter{note}{0}\typeout{color \@currcolor}%
- \newpage
- \begin{huge}
- \begin{center}
- COLOR LAYER\\[.75in]
- \@currcolor
- \end{center}
- \end{huge}
- \newpage
- \@makingslidestrue
- \input #1
- \@makingslidesfalse}}
-
-
- % \slide COLORS ::=
- % BEGIN
- % \stepcounter{slide}
- % \@slidesw :=G T
- % if @onlyslidesw = true % set \@slidesw = T iff page to
- % then % be output
- % while \c@slide > \@doslidehigh
- % do \@setlimits\@doslidelist\@doslidelow\@doslidehigh od
- % if \c@slide < \@doslidelow
- % then \@slidesw := F
- % fi
- % fi
- % if \@slidesw = T
- % then \@slidesw :=G F
- % \begingroup
- % if @bw = true
- % then \@slidesw :=G T
- % else \@color{COLORS}
- % \if@visible then \@slidesw :=G T \fi
- % fi
- % \endgroup
- % fi
- % if \@slidesw = T
- % then \newpage
- % \thispagestyle{slide}
- % else \end{slide}
- % \@gobbletoend{slide}
- % fi
- % END
-
- % \endslide ::=
- % BEGIN
- % \par\break
- % END
-
- \def\slide#1{\stepcounter{slide}\gdef\@slidesw{T}\if@onlyslidesw
- \@whilenum \c@slide > \@doslidehigh\relax
- \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
- \c@slide < \@doslidelow\relax\gdef\@slidesw{F}\fi\fi
- \if\@slidesw T\gdef\@slidesw{F}\begingroup\if@bw\gdef\@slidesw{T}\else
- \@color{#1}\if@visible \gdef\@slidesw{T}\fi\fi\endgroup\fi
- \if\@slidesw T\newpage\thispagestyle{slide}%
- \else\end{slide}\@gobbletoend{slide}\fi}
-
- \def\endslide{\par\break}
-
- % \overlay COLORS ::=
- % BEGIN
- % \stepcounter{overlay}
- % \@slidesw :=G T
- % if @onlyslidesw = T % set \@slidesw = T iff page to
- % then % be output
- % if \c@slide < \@doslidelow
- % then \@slidesw :=G F
- % fi
- % fi
- % if \@slidesw = T
- % \@slidesw :=G F
- % \begingroup
- % if @bw = true
- % then \@slidesw :=G T
- % else \@color{COLORS}
- % \if@visible then \@slidesw :=G T \fi
- % fi
- % \endgroup
- % fi
- % if \@slidesw = T
- % then \newpage
- % \thispagestyle{overlay}
- % else \end{overlay}
- % \@gobbletoend{overlay}
- % fi
- % END
-
- % \endoverlay ::=
- % BEGIN
- % \par\break
- % END
-
- \def\overlay#1{\stepcounter{overlay}\gdef\@slidesw{T}%
- \if@onlyslidesw\ifnum \c@slide < \@doslidelow\relax
- \gdef\@slidesw{F}\fi\fi
- \if\@slidesw T\gdef\@slidesw{F}\begingroup\if@bw\gdef\@slidesw{T}%
- \else\@color{#1}\if@visible \gdef\@slidesw{T}\fi\fi\endgroup\fi
- \if\@slidesw T\newpage\thispagestyle{overlay}%
- \else\end{overlay}\@gobbletoend{overlay}\fi}
-
- \def\endoverlay{\par\break}
-
- % \note ::=
- % BEGIN
- % \stepcounter{note}
- % if @bw = T
- % then
- % \@slidesw :=G T
- % if @onlynotesw = true % set \@notesw = T iff page to
- % then % be output
- % while \c@slide > \@donotehigh
- % do \@setlimits\@donotelist\@donotelow\@donotehigh od
- % if \c@slide < \@donotelow
- % then \@slidesw :=G F
- % fi
- % fi
- % else \@slidesw :=G F
- % fi
- % if \@slidesw = T
- % then \newpage
- % \thispagestyle{note}
- % else \end{note}
- % \@gobbletoend{note}
- % fi
- % END
-
- % \endnote ::=
- % BEGIN
- % \par\break
- % END
-
- \def\note{\stepcounter{note}%
- \if@bw \gdef\@slidesw{T}\if@onlynotesw\@whilenum \c@slide > \@donotehigh\relax
- \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
- \c@slide < \@donotelow\relax \gdef\@slidesw{F}\fi\fi
- \else\gdef\@slidesw{F}\fi
- \if\@slidesw T\newpage\thispagestyle{note}\else
- \end{note}\@gobbletoend{note}\fi}
-
- \def\endnote{\par\break}
-
-
- % \@color{COLORS} ::=
- % BEGIN
- % if math mode
- % then type warning
- % fi
- % if @bw
- % then @visible := T
- % else @visible := F
- % for \@x@a := COLORS
- % do if \@x@a = \@currcolor
- % then @visible := T
- % fi
- % od
- % fi
- % \@currsize -- sets the visibility of the current size
- % \@currfont -- sets the visibility of the current font
- % \ignorespaces
- % END
-
- \def\@color#1{\@mmodetest
- \if@bw \@visibletrue\else\@visiblefalse
- \@for \@x@a :=#1\do{\ifx\@x@a\@currcolor\@visibletrue\fi}\fi
- \@currsize\@currfont\ignorespaces}
-
- \def\@mmodetest{\ifmmode\@warning{Color-changing command in math mode}\fi}
-
- % \invisible ::= BEGIN type warning if math mode
- % \@visiblefalse \@currsize\@currfont\ignorespaces END
-
- \def\invisible{\@mmodetest\@visiblefalse\@currsize\@currfont\ignorespaces}
- \let\invisible=\invisible
- \let\endinvisible=\relax
-
- \message{picture,}
- % ****************************************
- % * MODIFICATIONS TO *
- % * THE PICTURE ENVIRONMENT *
- % ****************************************
- %
- % Below are the new definitions of the picture-drawing macros
- % required for SLiTeX. Only those commands that actually
- % draw something must be changed so that they do not produce
- % any output when the @visible switch is false.
-
- \def\line(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
- \@linelen=#3\unitlength
- \ifnum\@xarg =0 \@vline
- \else \ifnum\@yarg =0 \@hline \else \@sline\fi
- \fi\fi}
-
- \def\vector(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
- \@linelen=#3\unitlength
- \ifnum\@xarg =0 \@vvector
- \else \ifnum\@yarg =0 \@hvector \else \@svector\fi
- \fi\fi}
-
- \def\dashbox#1(#2,#3){\leavevmode\if@visible\hbox to \z@{\baselineskip \z@%
- \lineskip \z@%
- \@dashdim=#2\unitlength%
- \@dashcnt=\@dashdim \advance\@dashcnt 200
- \@dashdim=#1\unitlength\divide\@dashcnt \@dashdim
- \ifodd\@dashcnt\@dashdim=\z@%
- \advance\@dashcnt \@ne \divide\@dashcnt \tw@
- \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
- \advance\@dashcnt \m@ne
- \setbox\@dashbox=\hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
- \@width \@dashdim}\put(0,0){\copy\@dashbox}%
- \put(0,#3){\copy\@dashbox}%
- \put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
- \put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
- \multiply\@dashdim 3
- \fi
- \setbox\@dashbox=\hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
- \@width #1\unitlength\hskip #1\unitlength}\@tempcnta=0
- \put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
- \do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta=0
- \put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
- \do{\copy\@dashbox\advance\@tempcnta \@ne }}%
- \@dashdim=#3\unitlength%
- \@dashcnt=\@dashdim \advance\@dashcnt 200
- \@dashdim=#1\unitlength\divide\@dashcnt \@dashdim
- \ifodd\@dashcnt \@dashdim=\z@%
- \advance\@dashcnt \@ne \divide\@dashcnt \tw@
- \else
- \divide\@dashdim \tw@ \divide\@dashcnt \tw@
- \advance\@dashcnt \m@ne
- \setbox\@dashbox\hbox{\hskip -\@halfwidth
- \vrule \@width \@wholewidth
- \@height \@dashdim}\put(0,0){\copy\@dashbox}%
- \put(#2,0){\copy\@dashbox}%
- \put(0,#3){\lower\@dashdim\copy\@dashbox}%
- \put(#2,#3){\lower\@dashdim\copy\@dashbox}%
- \multiply\@dashdim 3
- \fi
- \setbox\@dashbox\hbox{\vrule \@width \@wholewidth
- \@height #1\unitlength}\@tempcnta0
- \put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta < \@dashcnt
- \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
- \vskip\@dashdim}}\@tempcnta0
- \put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta< \@dashcnt
- \relax\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
- \vskip\@dashdim}}}\fi\@makepicbox(#2,#3)}
-
- \def\@oval(#1,#2)[#3]{\if@visible\begingroup \boxmaxdepth \maxdimen
- \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
- \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx
- #1\unitlength \@ovyy #2\unitlength
- \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
- \@getcirc \@tempdimb
- \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
- \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
- \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
- \@circlefnt \setbox\@tempboxa
- \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
- \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
- \if@ovt \@ovhorz \kern -\@ovxx \fi
- \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
- \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
- \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
- \endgroup\fi}
-
- \def\@circle#1{\if@visible \begingroup \boxmaxdepth \maxdimen
- \@tempdimb #1\unitlength
- \ifdim \@tempdimb >15.5pt\relax \@getcirc\@tempdimb
- \@ovro\ht\@tempboxa
- \setbox\@tempboxa\hbox{\@circlefnt
- \advance\@tempcnta\tw@ \char \@tempcnta
- \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
- \advance\@tempcnta\tw@
- \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
- \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
- \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
- \else \@circ\@tempdimb{96}\fi\endgroup\fi}
-
- \def\@dot#1{\if@visible\@tempdimb #1\unitlength \@circ\@tempdimb{112}\fi}
-
- \long\def\@iframebox[#1][#2]#3{\leavevmode
- \savebox\@tempboxa[#1][#2]{\kern\fboxsep #3\kern\fboxsep}\@tempdima\fboxrule
- \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
- \hbox{\lower \@tempdima\hbox
- {\vbox{ \if@visible \hrule \@height \else \vskip \fi \fboxrule
- \hbox{\if@visible \vrule \@width \fboxrule \hskip-\fboxrule \fi
- \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}\if@visible
- \vrule \@width \fboxrule \hskip-\fboxrule \fi}\if@visible
- \hrule \@height \else \vskip\fi\fboxrule}}}}
-
-
- \long\def\frame#1{\if@visible\leavevmode
- \vbox{\vskip-\@halfwidth\hrule \@height\@halfwidth \@depth \@halfwidth
- \vskip-\@halfwidth\hbox{\hskip-\@halfwidth \vrule \@width\@wholewidth
- \hskip-\@halfwidth #1\hskip-\@halfwidth \vrule \@width \@wholewidth
- \hskip -\@halfwidth}\vskip -\@halfwidth\hrule \@height \@halfwidth
- \@depth \@halfwidth\vskip -\@halfwidth}\else #1\fi}
-
- \long\def\fbox#1{\leavevmode\setbox\@tempboxa\hbox{#1}\@tempdima\fboxrule
- \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
- \hbox{\lower \@tempdima\hbox
- {\vbox{\if@visible \hrule \@height \else \vskip\fi\fboxrule
- \hbox{\if@visible\vrule \@width \else \hskip \fi\fboxrule
- \hskip\fboxsep
- \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}\hskip
- \fboxsep \if@visible\vrule \@width\else\hskip \fi\fboxrule}
- \if@visible\hrule \@height \else \vskip \fi\fboxrule}}}}
-
- \message{mods,}
- % ****************************************
- % * OTHER MODIFICATIONS TO *
- % * TeX AND LaTeX COMMANDS *
- % ****************************************
- %
-
- % \rule
-
- \def\@rule[#1]#2#3{\@tempdima#3\advance\@tempdima #1\leavevmode
- \hbox{\if@visible\vrule
- \@width#2 \@height\@tempdima \@depth-#1\else
- \vrule \@width \z@ \@height\@tempdima \@depth-#1\vrule
- \@width#2 \@height\z@\fi}}
-
- % \_ (Added 10 Nov 86)
-
- \def\_{\leavevmode \kern.06em \if@visible\vbox{\hrule width.3em}\else
- \vbox{\hrule height 0pt width.3em}\vbox{\hrule width 0pt}\fi}
-
- % \overline, \underline, \frac and \sqrt
- %
- % \@mathbox{STYLE}{BOX}{MTEXT} : Called in math mode, typesets MTEXT and
- % stores result in BOX, using style STYLE.
- %
- % \@bphant{BOX} : Creates a phantom with dimensions BOX.
- % \@vbphant{BOX} : Creates a phantom with ht of BOX and zero width.
- % \@hbphant{BOX} : Creates a phantom with width of BOX and zero ht & dp.
- % \@hvsmash{STYLE}{MTEXT} : Creates a copy of MTEXT with zero height and width
- % in style STYLE.
-
- \def\@mathbox#1#2#3{\setbox#2\hbox{$\m@th#1{#3}$}}
-
- \def\@vbphantom#1{\setbox\tw@\null \ht\tw@\ht #1 \dp\tw@\dp #1
- \box\tw@}
-
- \def\@bphantom#1{\setbox\tw@\null \wd\tw@\wd #1 \ht\tw@\ht #1 \dp\tw@\dp #1
- \box\tw@}
-
- \def\@hbphantom#1{\setbox\tw@\null \wd\tw@\wd #1 \ht\tw@\z@ \dp\tw@\z@
- \box\tw@}
-
- \def\@hvsmash#1#2{\@mathbox#1\z@{#2}\ht\z@\z@ \dp\z@\z@ \wd\z@\z@ \box\z@}
-
- \def\underline#1{\relax\ifmmode
- \@xunderline{#1}\else $\@xunderline{\hbox{#1}}$\relax\fi}
-
- \def\@xunderline#1{\mathchoice{\@xyunderline\displaystyle{#1}}{\@xyunderline
- \textstyle{#1}}{\@xyunderline\scriptstyle{#1}}{\@xyunderline
- \scriptscriptstyle{#1}}}
-
- \def\@xyunderline#1#2{\@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}
- \if@visible \@hvsmash#1{\@@underline{\@bphantom\@smashboxa}}\fi
- \@mathbox#1\@smashboxb{\@@underline{\box\@smashboxa}}
- \@bphantom\@smashboxb}
-
- \let\@@overline=\overline
-
- \def\overline#1{\mathchoice{\@xoverline\displaystyle{#1}}{\@xoverline
- \textstyle{#1}}{\@xoverline\scriptstyle{#1}}{\@xoverline
- \scriptscriptstyle{#1}}}
-
- \def\@xoverline#1#2{\@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}
- \if@visible \@hvsmash#1{\@@overline{\@bphantom\@smashboxa}}\fi
- \@mathbox#1\@smashboxb{\@@overline{\box\@smashboxa}}
- \@bphantom\@smashboxb}
-
-
- % \@frac {STYLE}{DENOMSTYLE}{NUM}{DEN}{FONTSIZE} : Creates \frac{NUM}{DENOM}
- % in style SYTLE with NUM and DENOM in style DENOMSTYLE
- % FONTSIZE should be \textfont \scriptfont or \scriptscriptfont
-
- \def\frac#1#2{\mathchoice
- {\@frac\displaystyle\textstyle{#1}{#2}\textfont}{\@frac
- \textstyle\scriptstyle{#1}{#2}\textfont}{\@frac
- \scriptstyle\scriptscriptstyle{#1}{#2}\scriptfont}{\@frac
- \scriptscriptstyle\scriptscriptstyle{#1}{#2}\scriptscriptfont}}
-
- \def\@frac#1#2#3#4#5{\@mathbox#2\@smashboxa{#3}\@mathbox#2\@smashboxb{#4}
- \@mathbox#1\@smashboxc{\copy\@smashboxa\over\copy\@smashboxb}
- \@vbphantom\@smashboxc
- \vcenter{\vbox to \z@{\hsize \wd\@smashboxc
- \vss\nointerlineskip
- \hbox to \wd\@smashboxc{\hss\box\@smashboxa\hss}
- \hrule height \z@}
- \vskip 7\fontdimen8#53
- \if@visible\hrule height \fontdimen8#53\else \vskip \fontdimen8#53\fi
- \vskip 7\fontdimen8#53
- \nointerlineskip
- \vbox to \z@{\nointerlineskip
- \hbox to \wd\@smashboxc{\hss\box\@smashboxb\hss}
- \hrule height \z@\vss}
- }}
-
- \def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\@xysqrt#1{#2}$}
- \dimen@\ht\z@ \advance\dimen@-\dp\z@
- \mskip5mu\raise.6\dimen@\copy\rootbox \mskip-10mu \box\z@}
-
- \def\sqrt{\@ifnextchar[{\@sqrt}{\@xsqrt}}
- \def\@sqrt[#1]{\root #1\of}
- \def\@xsqrt#1{\mathchoice{\@xysqrt\displaystyle{#1}}{\@xysqrt
- \textstyle{#1}}{\@xysqrt\scriptstyle{#1}}{\@xysqrt
- \scriptscriptstyle{#1}}}
- \def\@xysqrt#1#2{\@mathbox#1\@smashboxa{#2}\if@visible
- \@hvsmash#1{\@@sqrt{\@bphantom\@smashboxa}}\fi
- \phantom{\@@sqrt{\@vbphantom\@smashboxa}}\box\@smashboxa}
-
- \newbox\@smashboxa
- \newbox\@smashboxb
- \newbox\@smashboxc
-
-
-
- \message{output,}
- % ****************************************
- % * CHANGES TO LaTeX \output ROUTINE *
- % ****************************************
- %
- % \@makecol ==
- % BEGIN
- % % Following test added for slides to check if extra page
- % if @makingslides = T
- % then if \c@page > 0
- % then if \c@note > 0
- % then type 'Note \thenote too long.'
- % else if \c@overlay > 0
- % then type 'Overlay \theoverlay too long.'
- % else type 'Slide \theslide too long'
- % fi fi fi fi
- % ifvoid \insert\footins
- % then \@outputbox := \box255
- % else \@outputbox := \vbox {\unvbox255
- % \vskip \skip\footins
- % \footnoterule
- % \unvbox\@footinsert
- % }
- % fi
- % \@freelist :=G \@freelist * \@midlist
- % \@midlist :=G empty
- % \@combinefloats
- % \@outputbox := \vbox to \@colht{\boxmaxdepth := \maxdepth
- % \vfil %%\vfil added for slides
- % \unvbox\@outputbox
- % \vfil } %%\vfil added for slides
- % \maxdepth :=G \@maxdepth
- % END
-
- \def\@makecol{\if@makingslides\ifnum\c@page>\z@ \@extraslide\fi\fi
- \ifvoid\footins \setbox\@outputbox\box\@cclv \let\@botfil\vfil
- \else\let\@botfil\relax\setbox\@outputbox
- \vbox{\unvbox\@cclv\vfil
- \vskip\skip\footins\footnoterule\unvbox\footins\vskip
- \z@ plus.1fil\relax}\fi
- \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
- \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
- \vfil\unvbox\@outputbox\@botfil}\global\maxdepth\@maxdepth}
-
- \def\@extraslide{\ifnum\c@note>\z@
- \@warning{Note \thenote\space too long}\else
- \ifnum\c@overlay>\z@
- \@warning{Overlay \theoverlay\space too long}\else
- \@warning{Slide \theslide\space too long}\fi\fi}
-
- \message{init}
- % ****************************************
- % * SPECIAL SLiTeX INITIALIZATIONS *
- % ****************************************
- %
- \nofiles
- \@visibletrue
-
-